/**
 * Copyright (c) 2006-2012 Las Venturas Playground, LVP Mineground
 *
 * This program is free software: you can redistribute it and/or modify it under the terms of the
 * GNU General Public License as published by the Free Software Foundation, either version 3 of the
 * License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
 * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License along with this program.
 * If not, see <http://www.gnu.org/licenses/>.
 */

package mineground.util;

/**
 * A Vector3D class is a representation of a position in a 3D space. The "x" value indicates the
 * distance on the north-south axis, "y" value the height on the map and the "z" value the distance
 * on the east-west axis.
 * 
 * This class [will] also provides several utility functions to calculate with the position, i.e.
 * intersections and outputting them to strings or the console.
 * 
 * @todo Make this class more useful.
 */
public class Vector3D {
    /**
     * The x-coordinate (north-south axis) of the position.
     */
    public double x = 0.0;
    
    /**
     * The y-coordinate (height) of the position.
     */
    public double y = 0.0;
    
    /**
     * The z-coordinate (east-west axis) of the position.
     */
    public double z = 0.0;
    
    /**
     * Initialize the Vector3D class on a certain position.
     * 
     * @param initialX The x-coordinate of the initial position.
     * @param initialY The y-coordinate of the initial position.
     * @param initialZ The z-coordinate of the initial position.
     */
    public Vector3D(double initialX, double initialY, double initialZ) {
        x = initialX;
        y = initialY;
        z = initialZ;
    }
}
